package com.fcscs.cservice.domain;

import java.util.Date;

import com.fcscs.core.domain.HistoricalEntity;
import com.fcscs.cservice.common.CServiceCommonEnums.ModuleEnum;
import com.fcscs.cservice.common.CServiceCommonEnums.VersionEntityTypeEnum;
import com.fcscs.cservice.common.CServiceCommonEnums.VersionTypeEnum;

public class Versions extends HistoricalEntity {

	private static final long serialVersionUID = 1L;

	private ModuleEnum module;
	private VersionTypeEnum versionType;
	private VersionEntityTypeEnum entityType;
	private Long entityId;
	private String templateName;
	private Date startDate;
	
	@Override
	public DBLoc getDBLoc() {
		return DBLoc.GUEST;
	}

	public String getModule() {
		return module == null ? null : module.toString();
	}

	public void setModule(String module) {
		this.module = module == null ? null : ModuleEnum.valueOf(module);
	}
	
	public ModuleEnum getModuleEnum() {
		return module;
	}
	
	public void setModuleEnum(ModuleEnum module) {
		this.module = module;
	}

	public String getVersionType() {
		return versionType == null ? null : versionType.toString();
	}

	public void setVersionType(String versionType) {
		this.versionType = versionType == null ? null : VersionTypeEnum.valueOf(versionType);
	}
	
	public VersionTypeEnum getVersionTypeEnum() {
		return versionType;
	}
	
	public void setVersionTypeEnum(VersionTypeEnum versionType) {
		this.versionType = versionType;
	}

	public String getEntityType() {
		return entityType == null ? null : entityType.toString();
	}

	public void setEntityType(String entityType) {
		this.entityType = entityType == null ? null : VersionEntityTypeEnum.valueOf(entityType);
	}
	
	public VersionEntityTypeEnum getEntityTypeEnum() {
		return entityType;
	}

	public void setEntityTypeEnum(VersionEntityTypeEnum entityType) {
		this.entityType = entityType;
	}

	public Long getEntityId() {
		return entityId;
	}

	public void setEntityId(Long entityId) {
		this.entityId = entityId;
	}

	public String getTemplateName() {
		return templateName;
	}

	public void setTemplateName(String templateName) {
		this.templateName = templateName;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
}
